/*jshint -W069 */
import axios, { AxiosResponse,AxiosRequestConfig } from 'axios'
// dtos


type Population = {
  coverUser? :  number  
  createTime? :  string  
  creator? :  string  
  creatorId? :  string  
  dataStatus? :  number  
  endUpdateTime? :  string  
  finalModifier? :  string  
  finalModifierId? :  string  
  populationId? :  number  
  populationName? :  string  
  startUpdateTime? :  string  
  updateTime? :  string  
  updateType? :  number  
    
}

type PopulationDefineDTO = {
  population? :  Population  
  populationSearchConditions? :   Array <PopulationSearchCondition> | PopulationSearchCondition
    
}

type PopulationSearchCondition = {
  conditionId? :  number  
  conditionName? :  string  
  conditionOrder? :  number  
  conditionRelation? :  number  
  conditionType? :  number  
  createTime? :  string  
  creatorId? :  string  
  dataStatus? :  number  
  finalModifierId? :  string  
  groupOrder? :  number  
  groupRelation? :  number  
  populationId? :  number  
  propertyId? :  number  
  searchContent? :  string  
  updateTime? :  string  
    
}

type Response = {
  code? :  number  
  data? :  
  msg? :  string  
  success? :  boolean  
    
}


/**
 * 接口文档
 * @class API
 * @param {(string|object)} [domainOrOptions] - The project domain or options object. If object, see the object's optional properties.
 * @param {string} [domainOrOptions.domain] - The project domain
 * @param {object} [domainOrOptions.token] - auth token - object with value property and optional headerOrQueryName and isQuery properties
 */
export default class API {

  $defaultDomain:string

  /**
   *  API构造函数
   * @param domain API域名
   */
  constructor( domain?: string ){
    this.$defaultDomain = domain || 'http://47.106.217.230:8558/nfplus-tag-manager#/';
  }

    
    /**
    * 手机登录
    * @method
    * @name API#手机登录
    * @param string attach - attach * @param string code - code * @param string mobile - mobile * @param string passwd - passwd 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    doLoginUsingPOST ( parameters : {
      'attach'  : string,
      'code'  : string,
      'mobile'  : string,
      'passwd'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/login/doLogin',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 手机验证码
    * @method
    * @name API#手机验证码
    * @param string mobile - mobile 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getCodeUsingGET ( parameters : {
      'mobile'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/login/getCode',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingGET ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingHEAD ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'HEAD'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingPOST ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingPUT ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'PUT'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingDELETE ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'DELETE'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingOPTIONS ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'OPTIONS'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 测试
    * @method
    * @name API#测试
    * @param string name - name 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    echoUsingPATCH ( parameters : {
      'name'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/mock/echo',
        method: 'PATCH'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 获取人群属性接口
    * @method
    * @name API#获取人群属性接口
    
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getAttributeUsingGET ( parameters : {
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationAttribute/getAttribute',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      return axios.request( config );
    }
    
    /**
    * 获取各属性下的可选值接口
    * @method
    * @name API#获取各属性下的可选值接口
    * @param string abilityId - 属性值ID 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getAttributeOptionsUsingGET ( parameters : {
      'abilityId'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationAttribute/getAttributeOptions',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 获取特殊属性：热词接口
    * @method
    * @name API#获取特殊属性：热词接口
    * @param string endTime - 热词搜索结束时间点(yyyy-MM-dd) * @param string startTime - 热词搜索开始时间点(yyyy-MM-dd) 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getHotWordsUsingGET ( parameters : {
      'endTime'  ?: string,
      'startTime'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationAttribute/getHotWords',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 更新属性缓存
    * @method
    * @name API#更新属性缓存
    
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    updateCacheUsingGET ( parameters : {
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationAttribute/updateCache',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingGET ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingHEAD ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'HEAD'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingPOST ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingPUT ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'PUT'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingDELETE ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'DELETE'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingOPTIONS ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'OPTIONS'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 按天查询用户转化率
    * @method
    * @name API#按天查询用户转化率
    * @param string endDay - endDay * @param integer populationId - populationId * @param string startDay - startDay 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getConversionRatesUsingPATCH ( parameters : {
      'endDay'  : string,
      'populationId'  : number,
      'startDay'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/conversionRates',
        method: 'PATCH'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingGET ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingHEAD ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'HEAD'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingPOST ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingPUT ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'PUT'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingDELETE ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'DELETE'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingOPTIONS ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'OPTIONS'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群详情
    * @method
    * @name API#人群详情
    * @param integer populationId - populationId 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getByPopulationIdUsingPATCH ( parameters : {
      'populationId'  : number,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populationStatDay/populationDetail',
        method: 'PATCH'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群列表展示
    * @method
    * @name API#人群列表展示
    * @param ref pageNum - 当前页数 * @param ref pageSize - 一页显示的数目 * @param string queryProperty - 查询条件 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    listPopulationsUsingGET ( parameters : {
      'pageNum'  ?: object,
      'pageSize'  ?: object,
      'queryProperty'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 人群定义保存
    * @method
    * @name API#人群定义保存
    * @param  populationDto - populationDTO * @param string username - 用户名 * @param string uuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    savePopulationUsingPOST ( parameters : {
      'populationDto'  : PopulationDefineDTO,
      'username'  ?: string,
      'uuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      body = parameters.populationDto;
      config.data = body;
      config.headers['username'] = parameters.username;
      config.headers['uuid'] = parameters.uuid;
      
      return axios.request( config );
    }
    
    /**
    * 根据人群id修改人群定义
    * @method
    * @name API#根据人群id修改人群定义
    * @param  populationDefineDto - populationDefineDTO * @param string username - 用户名 * @param string uuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    editPopulationUsingPUT ( parameters : {
      'populationDefineDto'  : PopulationDefineDTO,
      'username'  ?: string,
      'uuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations',
        method: 'PUT'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      body = parameters.populationDefineDto;
      config.data = body;
      config.headers['username'] = parameters.username;
      config.headers['uuid'] = parameters.uuid;
      
      return axios.request( config );
    }
    
    /**
    * 获取所有人群包的名称
    * @method
    * @name API#获取所有人群包的名称
    
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getAllPopulationUsingGET ( parameters : {
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations/names',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      return axios.request( config );
    }
    
    /**
    * 根据人群包规则预览统计数据
    * @method
    * @name API#根据人群包规则预览统计数据
    * @param  populationDefineDto - populationDefineDTO 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    previewPopulationUsingPOST ( parameters : {
      'populationDefineDto'  : PopulationDefineDTO,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations/preview',
        method: 'POST'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      config.headers['Content-Type'] = 'application/json';
      
      body = parameters.populationDefineDto;
      config.data = body;
      
      return axios.request( config );
    }
    
    /**
    * 根据人群id回显人群定义
    * @method
    * @name API#根据人群id回显人群定义
    * @param string populationId - 人群包id 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getPopulationUsingGET ( parameters : {
      'populationId'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations/{populationId}',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      config.url = config.url.replace('{populationId}',parameters.populationId+'');
      
      return axios.request( config );
    }
    
    /**
    * 根据人群id删除人群定义
    * @method
    * @name API#根据人群id删除人群定义
    * @param string populationId - 人群包id * @param string username - 用户名 * @param string uuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    deletePopulationUsingDELETE ( parameters : {
      'populationId'  ?: string,
      'username'  ?: string,
      'uuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/populations/{populationId}',
        method: 'DELETE'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      config.url = config.url.replace('{populationId}',parameters.populationId+'');
      config.headers['username'] = parameters.username;
      config.headers['uuid'] = parameters.uuid;
      
      return axios.request( config );
    }
    
    /**
    * 按照手机号码或微信昵称搜索用户
    * @method
    * @name API#按照手机号码或微信昵称搜索用户
    * @param string pageIndex - 页码 * @param string pageSize - 一页条数 * @param string searchType - 查询类型(0-按手机搜索 1-按微信昵称搜索) * @param string value - value 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getUsersUsingGET ( parameters : {
      'pageIndex'  ?: string,
      'pageSize'  ?: string,
      'searchType'  ?: string,
      'value'  : string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/users',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      
      
      
      return axios.request( config );
    }
    
    /**
    * 获取一个用户的积分
    * @method
    * @name API#获取一个用户的积分
    * @param string userUuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getUserIntegralUsingGET ( parameters : {
      'userUuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/users/integral/{userUuid}',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      config.url = config.url.replace('{userUuid}',parameters.userUuid+'');
      
      return axios.request( config );
    }
    
    /**
    * 查询用户详细信息
    * @method
    * @name API#查询用户详细信息
    * @param string userUuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getUserDetailsUsingGET ( parameters : {
      'userUuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/users/userDetails/{userUuid}',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      config.url = config.url.replace('{userUuid}',parameters.userUuid+'');
      
      return axios.request( config );
    }
    
    /**
    * 查询用户日志
    * @method
    * @name API#查询用户日志
    * @param string endTime - 结束时间 * @param string startTime - 开始时间 * @param string userUuid - 用户uuid 
    * @param $domain API域名,没有指定则使用构造函数指定的
    */
    getUserLogUsingGET ( parameters : {
      'endTime'  ?: string,
      'startTime'  ?: string,
      'userUuid'  ?: string,
      $queryParameters ?: any,
      $domain ?: string
    }): Promise < AxiosResponse > { 

      let body: any
      let config: AxiosRequestConfig = {
        baseURL: parameters.$domain || this.$defaultDomain,
        url: '/users/userLog/{userUuid}',
        method: 'GET'
      }
    
      config.headers = {}
      
      config.headers['Accept'] = '*/*';
      
      
      
      config.url = config.url.replace('{userUuid}',parameters.userUuid+'');
      
      return axios.request( config );
    }
  
    
}